package grafica;

import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.JLabel;
import javax.swing.JPanel;

import nivel.Nivel;

/**
 * GraficaPuntaje muestra el estado de las vidas, las monedas y el puntaje de
 * Mario durante un nivel. Al perder todas sus vidas, se reinician todos los
 * valores
 * 
 * @author Agustin Orge (LU.85538)
 * @author Victoria Martinez de la Cruz (LU.87620)
 */
public class GraficaPuntaje {

	/**
	 * Atributos de instancia
	 */
	private JPanel panelPuntaje, jpscore;
	private JLabel score, vidas, monedas;
	private JLabel labelScore, labelVidas, labelMonedas;

	/**
	 * Constructor de GraficaPuntaje
	 * 
	 * @param n
	 *            nivel asociado
	 */
	public GraficaPuntaje(Nivel n) {
		jpscore = new JPanel();
		panelPuntaje = new JPanel();
		panelPuntaje.setLayout(null);
		panelPuntaje.setOpaque(false);

		panelPuntaje.setSize(3957, 260);
		panelPuntaje.setLocation(0, 0);

		jpscore.setLayout(new GridLayout(3, 2));
		jpscore.setOpaque(false);
		jpscore.setSize(200, 50);
		jpscore.setLocation(0, 0);

		score = new JLabel();
		score.setText("Score: ");
		score.setForeground(new Color(255, 255, 255));
		labelScore = new JLabel();
		labelScore.setText("" + n.getScore().getPuntaje());
		labelScore.setForeground(new Color(255, 255, 255));
		vidas = new JLabel();
		vidas.setText("Vidas: ");
		vidas.setForeground(new Color(255, 255, 255));
		labelVidas = new JLabel();
		labelVidas.setText("" + n.getScore().getVidas());
		labelVidas.setForeground(new Color(255, 255, 255));

		monedas = new JLabel();
		monedas.setText("Monedas: ");
		monedas.setForeground(new Color(255, 255, 255));
		labelMonedas = new JLabel();
		labelMonedas.setText("" + n.getScore().getMonedas());
		labelMonedas.setForeground(new Color(255, 255, 255));

		jpscore.add(vidas);
		jpscore.add(labelVidas);
		jpscore.add(score);
		jpscore.add(labelScore);
		jpscore.add(monedas);
		jpscore.add(labelMonedas);
		panelPuntaje.add(jpscore);

	}

	/**
	 * Retorna el panel
	 * 
	 * @return panelPuntaje
	 */

	public JPanel getPanel() {
		return panelPuntaje;
	}

	/**
	 * Retorna la etiqueta de score
	 * 
	 * @return labelScore
	 */

	public JLabel getLabelScore() {
		return labelScore;
	}

	/**
	 * Retorna la etiqueta de vidas
	 * 
	 * @return labelVidas
	 */
	public JLabel getLabelVidas() {
		return labelVidas;
	}

	/**
	 * Retorna la etiqueta de monedas
	 * 
	 * @return labelMonedas
	 */
	public JLabel getLabelMonedas() {
		return labelMonedas;
	}

}
